﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.ExportToRTR.YAML.CollisionSet
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll

using EngineeringInternalExtension;


namespace DnProcessSimulateCommands.ExportToRTR.YAML;

public class CollisionSet
{
  public double? Value;
  public CollisionSetsBetweenBase Between;
  public CollisionSetForBaseClass For = (CollisionSetForBaseClass) new CollisionSetCompleteRoadmapAll();

  public CollisionSet()
  {
  }

  public CollisionSet(CollisionSetsBetweenBase between) => this.Between = between;

  public bool AlmostEquals(CollisionSet other, double epsilon)
  {
    bool flag = true;
    if (this.Value.HasValue || other.Value.HasValue)
    {
      if (!this.Value.HasValue || !other.Value.HasValue)
        return false;
      flag &= TxDoubleExtension.AlmostEquals(this.Value.Value, other.Value.Value, epsilon);
    }
    return flag & this.Between.Equals(other.Between) & this.For.Equals(other.For);
  }
}
